.calendar {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1px;
  margin-left: 1px;
  & > dt,
  & > dd {
    width: calc(100% / 7);
    position: relative;
    & > div {
      width: 100%;
      padding-top: 100%;
      & > div {
        position: absolute;
        inset: 0;
        & > * {
          width: 100%;
          height: 100%;
        }
      }
    }
  }
}

.cell {
  margin-top: -1px;
  margin-left: -1px;
  &.today {
    background-color: #e9f0f5;
  }
  &.border {
    border-color: #d5d4df;
  }
  &.active {
    background-color: #45539d;
    color: #ffffff;
    z-index: 2;
  }
  &.disabled {
    background-color: #f2f3f7;
    color: #a8a8a8;
  }
}

.bg-wfo {
  background-color: #45539d;
}

.holiday {
  left: 50%;
  transform: translateX(-45%);
}
